
# 面向对象 ：变量
"""
在类中，变量包括 ：类变量 ，实例变量 ，局部变量。

# 1.类变量
1） 概念：定义在类的内部 ，方法外部的变量 ，这些变量会被整个类所共享 。
2）定义 ：变量名 = 值
3）调用  ：
    对象名.变量名
    类名.变量名

# 2. 实例变量
1）概念 ：定义在方法内 ，专门给对象使用的变量
2）定义 ：self.变量名 = 值
3) 调用 ：self.变量名

# 3. 局部变量
1）概念 ：定义在方法内或者代码块内
2）定义 ：变量名 = 值
3）调用 ：变量名
"""

class Bug:

    # 定义属性
    level = [1,2,3,4]

    # 构造方法
    def __init__(self, product):
        self.version = '主干'     # 实例变量
        print(self.version)
        self.product = product      # 实例变量
        print("产品:{}".format(self.product))

    def create_bug(self):
        print("通过对象调用类变量:",self.level)
        print("通过类名调用类对象:",Bug.level)
        print("通过对象调用实例变量:",self.product)

    def search_bug(self,title=None):
        # 局部变量
        db_bugs = [
            {'bug_id': 1, 'bug_title': '学生列表页使用学生名称进行搜索 结果不正确', 'bug_project': 'wx', 'version': 1.0},
            {'bug_id': 2, 'bug_title': '和方法开始减肥盛世嫡妃', 'bug_project': 'tpshop', 'version': 1.0,
             'bug_level': self.level},
            {'bug_id': 3, 'bug_title': '导出的数据中字段(执勤单位)数据显示错误', 'bug_project': 'wx', 'version': 1.0},
            {'bug_id': 4, 'bug_title': '学生列表sdfsdfsdfsdfsdf', 'bug_project': 'wx', 'version': 1.0},
            {'bug_id': 5, 'bug_title': '学员列表页按照学生名称进行搜索 结果不正确', 'bug_project': 'tpshop', 'version': 1.0}
        ]

        if title:

            lst = []
            for bug in db_bugs:
                bug_title = bug.get('bug_title')
                if title in bug_title:
                    lst.append(bug)

            return lst

        return db_bugs


bug1 = Bug('wx')
bug1.create_bug()
print(bug1.search_bug('学生列表'))